package com.anzai.chatgptbot.config;

import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * 基本配置，从配置文件读取
 *
 * @author xiangzihao
 * @date 2023/8/22
 */
@Configuration
@Getter
public class BaseConfig {
    //代表 GPT-3.5 的 API 密钥。它是与 GPT-3.5 接口通信所需的身份验证信息。
    @Value("${chatGPT.apiKey}")
    private String apiKey;

    //代表生成的回复消息的最大标记数。GPT-3.5 的回复长度将受到此限制。
    @Value("${chatGPT.maxTokens}")
    private int maxTokens;

    //代表温度参数。它控制生成的回复的随机性和创造性程度。较高的温度会导致更多的随机性，而较低的温度则会更加保守和确定性。
    @Value("${chatGPT.temperature}")
    private double temperature;

    //代表聊天记录的最大条数。它限制了在聊天过程中可以存储的消息数量。
    @Value("${chatGPT.maxChatNum}")
    private Integer maxChatNum;

    //代表是否连续对话的标志。如果为 true，则表示聊天是连续进行的，每次调用 GPT-3.5 时都会包含之前的聊天历史记录。如果为 false，则每次调用 GPT-3.5 都将作为独立的对话进行。
    @Value("${chatGPT.isContinuous}")
    private boolean isContinuous;
}
